package io;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.charset.StandardCharsets;

/**
 * 读取文本数据,在控制台显示
 */
public class ReadStringDemo {
    public static void main(String[] args) throws IOException {
        //将fos.txt中的数据读取出来
        /*  FileInputStream fis = new FileInputStream("./fos.txt");
            注意这儿不能这样写，因为只要用FileInputStream和FileOutputStream都会重新创建文件
         */
        File file = new File("fos.txt");
        FileInputStream fis = new FileInputStream(file);
        //创建和文件等长的数组，接收
        byte[] data = new byte[(int)file.length()];//注意，file.length()很长很长应该是个long型,所以手动int强转
        //将文件中所有字节读入到数组中
        fis.read(data);
        //String提供了构造器可以将一组字节按照指定字符集转换为字符串
        String line = new String(data, StandardCharsets.UTF_8);
        System.out.println(line);//我带着比身体中的行李，游入尼罗河底。
        fis.close();
    }

}
